{ "cells": [ { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "# 1. Data Structure Review" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Spring 2016, Blank \n", "* Bryn Mawr College\n", "* \"Data Structures: Abstraction and Design Using Java\", by Koffman & Wolfgang" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1.1 Data Structures" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* List interface (page 61, 124)\n", "* LinkedList (page 88)\n", "* Double-Linked List (page 99)\n", "* Circular List (page 99)\n", "* Node (page 90)\n", "* ArrayList (page 62)\n", "* Queue (page 195)\n", "* Stack (page 149)\n", "* Double-ended Queue (\"Deque\", pronounced \"deck\") (page 217)\n", "* Tree (page 295)\n", "* Binary Tree (page 298)\n", "* Binary Search Tree (page 300)\n", "* Set (page 362)\n", "* Map (page 367)\n", "* Hashes, Hash Table (page 372)\n", " * Open addressing (page 374)\n", " * Chaining (page 379)\n", " * Collision (page 377)\n", " * Linear Probe (page 374)\n", " * Quadratic Probe (page 378)\n", "* Navigable Set and Map (page 408)\n", "* Self-Balancing Search Trees (page 471)\n", " * Balance and Rotations (page 472)\n", " * AVL Tree (page 477)\n", " * Red-Black Tree (page 490)\n", "* Graph (page 541)\n", " * Directed (page 543)\n", " * Undirected (page 543)\n", " * Path, Cycles, (page 544)\n", " * Breadth-First Search (page 560)\n", " * Depth-First Search (page 566)\n", " * Dijkstra's Algorithm (page 582)\n", " * Minimum Spanning Tree (page 584)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1.2 Sorting" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Bubble Sort (page 428)\n", "* Double Trouble (similar to Selection Sort, page 426)\n", "* Quicksort (page 451)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1.3 Terms and Concepts" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* ADT (page 2)\n", "* JVM (page 2)\n", "* Java API (page 2)\n", "* Interface (page 3)\n", "* implements (page 6)\n", "* instantiate and interface (page 7)\n", "* Object-Oriented Programming )page 8)\n", "* superclass and subclass (page 9)\n", "* this (page 10)\n", "* data fields (page 11)\n", "* super(...) (page 11)\n", "* no-parameter constructor (page 12)\n", "* is-a vs. has-a (page 13)\n", "* polymorphism (page 19)\n", "* abstract classes (page 22)\n", "* multiple interfaces (page 26)\n", "* primitive type (page 602)\n", "* wrappers for primitive types (page 24)\n", "* casting (page 27)\n", "* toString() (page 28)\n", "* instanceof (page 31)\n", "* private/protected/public (page 44)\n", "* hierarchy (page 46)\n", "* factory method (page 52)\n", "* generics, generic collection (page 66)\n", "* Big-O notation (page 80)\n", "* enhanced for statement (Type var: collection) (page 110)\n", "* Collection interface (page 121)\n", "* generic types (page 127)\n", "* recursion (page 243)\n", "* stack overflow (page 253)\n", "* recursion vs. iteration (page 255)\n", "* recursive gcd (page 254)\n", "* linear and binary search (page 260)\n", "* breadth-first search, binary tree (page 357)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1.4 Errors and Exception Handling" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Null Pointer (page 35)\n", "* Array Index Out of Bounds ((page 35)\n", "* try/catch (page 39)\n", "* throw (page 41)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1.5 Bonus Terms" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* iterator (page 105)\n", "* ListIterator - page (page 108)\n", "* inner classes: static and nonstatic (page 120)\n", "* testing (page 130)\n", "* testing: preconditions/postconditions (page 137)\n", "* pseudorandom numbers (page 233)\n", "* Huffman Tree (page 299)\n", "* Heap (page 332)\n", "* Priority Queue (page 332)\n", "* 2-3 Trees (page 503)\n", "* B-Trees (page 510)\n", "* B+Tree (page 520)\n", "* 2-3-4 Trees (page 520)\n", "* Skip List (page 525)" ] } ], "metadata": { "kernelspec": { "display_name": "Java 9", "language": "java", "name": "java9" }, "language_info": { "file_extension": ".class", "mimetype": "application/java-vm", "name": "java" } }, "nbformat": 4, "nbformat_minor": 0 }